package com.nutricia.core.service;

import java.util.List;

import com.nutricia.common.api.request.AddExternalPeopleReq;
import com.nutricia.common.api.request.AddInsidePeopleReq;
import com.nutricia.common.api.result.QueryMeetingEpeople;
import com.nutricia.common.api.result.QueryMeetingIpeople;
import com.nutricia.common.api.result.QueryOptionExternalByMidRes;
import com.nutricia.common.api.result.QueryOptionInsideByMid;
import com.nutricia.core.model.domain.MeetingDO;

public interface MeetingSignUpService {
	/**
	 * 通过会议ID查询具体会议信息
	* @param mId 会议ID
	* @return 具体会议信息实体类
	* @author wangzl
	* @date 2018年3月15日
	 */
	MeetingDO queryMeeting(String mId);
	
	/**
	 * 通过会议ID查询内部人员参会信息
	* @param mId 会议ID
	* @return 会议参会内部人员信息集合
	* @author wangzl
	* @date 2018年3月15日
	 */
	List<QueryMeetingIpeople> queryMeetingIpeople(String mId);
	
	/**
	 * 通过会议ID查询外部人员参会信息
	* @param mId 会议ID
	* @return 会议参会外部人员信息集合
	* @author wangzl
	* @date 2018年3月15日
	 */
	List<QueryMeetingEpeople> queryMeetingEpeople(String mId);
	
	/**
	 * 新增会议内部参会人员信息
	* @param insidePeopleDO 内部人员参会信息
	* @return 是否成功标识
	* @author wangzl
	* @date 2018年3月15日
	 */
	String addInsidePeople(AddInsidePeopleReq addInsidePeopleReq);
	
	/**
	 * 通过会议ID查询会议所有选项
	* @param mId 会议ID
	* @return 会议所有选项
	* @author wangzl
	* @date 2018年3月15日
	 */
	List<QueryOptionInsideByMid> queryOptionInsideByMid(String mId);
	
	/**
	 * 通过会议ID查询会议选项信息和联系人信息
	* @param mId 会议ID
	* @return 联系人信息对象
	* @author wangzl
	* @date 2018年3月15日
	 */
	QueryOptionExternalByMidRes queryOptionContactsByMid(String mId);
	
	/**
	 * 新增会议外部参会人员
	* @param addExternalPeopleReq
	* @return
	* @author wangzl
	* @date 2018年3月15日
	 */
	String addExternalPeople(AddExternalPeopleReq addExternalPeopleReq);
}
